API-интерфейс позволяет работать с данными системы ECOS в привычном интерфейсе вашей информационной системы.
С помощью Records API вы можете выполнять любые действия с данными, которые хранятся в любом из микросервисов ECOS. Подробнее про :ref:`Records API <Records_API>`
Примеры использования API:
- получение и изменение информации о маршрутах;
- управление набором и составом групп пользователей.
Important
Для обеспечения корректной отправки http-запросов произведите настройки аутентификации в соответствии со :ref:`статьей <keycloak_postman>`
URL | {{host}}/gateway/api/records/query
|
Type | POST |
Запрос | {"query":{
"sourceId":"alfresco/",
"query":{
"att":"_type",
"val":"emodel/type@sampleedidl-routeTemplateItem",
"t":"eq"
},
"language":"predicate",
"page":{"skipCount":0,"maxItems":10,"page":1},
"consistency":"EVENTUAL",
"sortBy":[{"attribute":"cm:created","ascending":false}]},
"attributes":["sampleedidl:rtCode?disp"]
}
|
Ответ | {
"records": [
{
"id": "alfresco/@workspace://SpacesStore/820f88b5-e722-4bc0-933f-926d57e728aa",
"attributes": {
"sampleedidl:rtCode?disp": "1"
}
}
],
"errors": [],
"hasMore": false,
"totalCount": 1
}
|
URL | {{host}}/gateway/alfresco/alfresco/s/api/orgstruct/v2/group/_orgstruct_home_/children?addAdminGroup=true&branch=true&excludeAuthorities=&group=true&role=true&user=true
|
Type | GET |
Ответ | [
{
"nodeRef": "workspace://SpacesStore/03094bf2-1395-4ded-98ff-3aba20698260",
"fullName": "GROUP_all",
"shortName": "all",
"displayName": "Все пользователи",
"authorityType": "GROUP",
"groupType": "branch",
"groupSubType": "company"
},
{
"nodeRef": "workspace://SpacesStore/6ac1289b-45c6-43b5-ad95-fdbbe1302d69",
"fullName": "GROUP_company",
"shortName": "company",
"displayName": "Организация",
"authorityType": "GROUP",
"groupType": "branch",
"groupSubType": "company"
}
]
|
URL | {{host}}/gateway/api/records/mutate
|
Type | POST |
Запрос | {
"records": [
{
"id":"alfresco/@workspace://SpacesStore/820f88b5-e722-4bc0-933f-926d57e728aa", -- ID маршрута
"attributes":{
"sampleedidl:templateRouteSignerAssoc?str":"workspace://SpacesStore/15d05def-45fd-41cf-bf8d-96ecd422edea", - этап, на который необходимо добавить пользователя/группу (указать ID пользователя/группы), если необходимо удалить с этапа, то указать “”
"_state?str":"submitted"
}
}
]
}
|
Ответ | {
"records": [
{
"id": "alfresco/@workspace://SpacesStore/820f88b5-e722-4bc0-933f-926d57e728aa",
"attributes": {}
}
],
"errors": []
}
|
URL | {{host}}/gateway/api/records/query
|
Type | POST |
Запрос | {
"query":{
"query":{
"t":"and",
"val":[{"t":"eq","att":"TYPE","val":"cm:person"}]},
"language":"predicate",
"consistency":"EVENTUAL",
"page":{"maxItems":10,"skipCount":0}},
"attributes":{"fullName":".disp","userName":"userName"}
}
|
Ответ | {
"records": [
{
"id": "alfresco/@workspace://SpacesStore/e0d4333e-97e1-4d42-a4d0-83e4259ed936",
"attributes": {
"fullName": "Guest",
"userName": "guest"
}
},
{
"id": "alfresco/@workspace://SpacesStore/6985ba61-155a-4ae8-aeb3-28acbc59f5f4",
"attributes": {
"fullName": "system",
"userName": "system"
}
},
{
"id": "alfresco/@workspace://SpacesStore/15d05def-45fd-41cf-bf8d-96ecd422edea",
"attributes": {
"fullName": "Administrator",
"userName": "admin"
}
}
],
"errors": [],
"hasMore": false,
"totalCount": 3
}
|
URL | {{host}}/gateway/api/records/query
|
Type | POST |
Запрос | {"records":
["people@admin"],
"attributes":
["groups[]"]
}
|
Ответ | {
"records": [
{
"id": "people@admin",
"attributes": {
"groups[]": [
"ALFRESCO_ADMINISTRATORS",
"ALFRESCO_MODEL_ADMINISTRATORS"
]
}
}
],
"errors": []
}
|
URL | {{host}}/gateway/api/records/mutate
|
Type | POST |
Запрос | {"records":[
{
"id":"emodel/person@admin",
"attributes":{
"att_add_authorityGroups":"emodel/authority-group@GROUP_company_accountancy"
}}]}
|
att_add_authorityGroups – добавление в группу
att_rem_authorityGroups – удаление из группы
URL | {{host}}/gateway/api/records/query
|
Type | POST |
Запрос | {"query":{
"sourceId": "emodel/person",
"query": {"t": "contains", "a": "authorityGroups", "v": "emodel/authority-group@orders-technologist"},
"language": "predicate"
}}
|
Ответ | {
"records": [
"emodel/person@admin"
],
"errors": [],
"hasMore": false,
"totalCount": 1
}
|
Просмотр групп в группе аналогичен просмотру пользователей в группе, но sourceId равен “emodel/authority-group“.
Просмотр пользователей или групп с учетом иерархии вниз (т.е. указать корень оргструктуры или любую другую группу, но так же ищется и во всех подгруппах) - то же что и просмотр пользователей в группе, но вместо “authorityGroups” использовать “authorityGroupsFull“
Таблица 1 Описание полейПоле | Наименование |
---|---|
fullName | Полное наименование |
shortName | Сокращенное наименование |
id | ID записи |
nodeRef | Ссылка на запись в системе Citeck |
displayName | Отображаемое наименование |
authorityType | Тип полномочий User/Group |
groupType | Тип группы |
groupSubType | Тип подгруппы |
userName | Логин |
templateRouteSignerAssoc | Этап, на который необходимо добавить пользователя/группу (указать ID пользователя/группы), если необходимо удалить с этапа указать “” |
att_add_authorityGroups | att_add_authorityGroups – добавление в группу
att_rem_authorityGroups – удаление из группы
|
rtCode | Код шаблона |
_state | Тип состояния |
errors | Значение ошибки, если при запросе она произошла |
hasMore | Есть ли дальше рекорды (записи) |
totalCount | Общее количество найденных записей |
disp | Значение для вывода |
value | Значение |
Параметр | Значение |
---|---|
Блок “page” | Параметр для настройки пагинации.
Необязательный параметр.
|
Блок “sortBy” | Параметр для сортировки.
Необязательный параметр.
|
Блок “attributes“ | Параметры (см. Таблица 1), которые необходимо получить на выходе.
Необязательный параметр.
Можно не указывать параметры в “attributes“ или убрать данный блок и на выходе получить список Id записей.
|
sourceId | Источник данных для поиска. В данном случае alfresco.
Возможные варианты:
• reports-data
• alfresco
|
query | Необходимый predicate query для поиска записей |
att | Название аттрибута |
val | Значение |
t | Типы предикатов.
Возможные варианты:
• starts
• ends
• or
• and
• empty
• not
• eq
• gt
• ge
• lt
• le
• like
• in
• contains
|
language | Язык запроса. На текущий момент поддерживается только predicate |
consistency | Консистенция (Согласованность)
Возможные варианты:
• EVENTUAL
• TRANSACTIONAL
• DEFAULT
• TRANSACTIONAL_IF_POSSIBLE
|